首页完善

chengzhenyu лет %!s(int64=8): %!d(string=назад)
Родитель
Сommit
0a871f10fa

+ 1 - 1
app/build.gradle

@@ -49,7 +49,7 @@ android {
49 49
             zipAlignEnabled false
50 50
             minifyEnabled false
51 51
             shrinkResources false
52
-            buildConfigField "boolean", "isTestMode", "true"
52
+            buildConfigField "boolean", "isTestMode", "false"
53 53
             signingConfig signingConfigs.releaseConfig
54 54
         }
55 55
     }

+ 2 - 2
app/src/main/java/ai/pai/lensman/main/MainActivity.java

@@ -71,8 +71,8 @@ public class MainActivity extends BaseActivity implements MainContract.View {
71 71
     }
72 72
 
73 73
     @Override
74
-    public void showSnackBar(String msg) {
75
-
74
+    public void showSnackBar(int stringId) {
75
+        Toast.makeText(this,stringId,Toast.LENGTH_SHORT).show();
76 76
     }
77 77
 
78 78
     @Override

+ 1 - 1
app/src/main/java/ai/pai/lensman/main/MainContract.java

@@ -10,7 +10,7 @@ public class MainContract {
10 10
 
11 11
     interface View extends BaseView {
12 12
 
13
-        void showSnackBar(String msg);
13
+        void showSnackBar(int stringId);
14 14
         void showBoxDisconnectedView();
15 15
         void showBoxConnectedView();
16 16
         void showEmptyView();

+ 43 - 5
app/src/main/java/ai/pai/lensman/main/MainPresenter.java

@@ -17,6 +17,7 @@ import java.util.ArrayList;
17 17
 import java.util.Date;
18 18
 
19 19
 import ai.pai.lensman.App;
20
+import ai.pai.lensman.R;
20 21
 import ai.pai.lensman.base.BaseInteractor;
21 22
 import ai.pai.lensman.bean.PhotoBean;
22 23
 import ai.pai.lensman.bean.SessionBean;
@@ -26,7 +27,7 @@ import ai.pai.lensman.service.OrderDealService;
26 27
 import ai.pai.lensman.service.UploadService;
27 28
 
28 29
 class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorListener<ArrayList<String>>,
29
-        UploadService.PhotoUploadListener, QueryBoxStatusInteractor.BoxStatusListener {
30
+        UploadService.PhotoUploadListener, QueryBoxStatusInteractor.BoxStatusListener,OrderDealService.OrderServiceListener {
30 31
 
31 32
     private int sessionSeq;
32 33
     private String lensmanId;
@@ -38,7 +39,11 @@ class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorL
38 39
     private FetchSessionIdsInteractor interactor;
39 40
     private QueryBoxStatusInteractor boxStatusInteractor;
40 41
 
41
-    private ServiceConnection serviceConnection;
42
+    private ServiceConnection uploadServiceConnection;
43
+    private ServiceConnection orderServiceConnection;
44
+
45
+    private boolean isBoxConnected = true;
46
+
42 47
 
43 48
     private BroadcastReceiver wifiReceiver  = new BroadcastReceiver() {
44 49
         @Override
@@ -47,6 +52,7 @@ class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorL
47 52
                 if(NetworkUtil.isWifiConnected(context)){
48 53
                     view.showBoxConnectedView();
49 54
                 }else{
55
+                    isBoxConnected = false;
50 56
                     view.showBoxDisconnectedView();
51 57
                 }
52 58
             }
@@ -59,7 +65,7 @@ class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorL
59 65
         sessionIds = new ArrayList<>();
60 66
         interactor = new FetchSessionIdsInteractor(lensmanId,100,this);
61 67
         boxStatusInteractor = new QueryBoxStatusInteractor(this);
62
-        serviceConnection = new ServiceConnection() {
68
+        uploadServiceConnection = new ServiceConnection() {
63 69
             @Override
64 70
             public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
65 71
                 ((UploadService.MyBinder) iBinder).getService().setPhotoUploadListener(MainPresenter.this);
@@ -70,6 +76,18 @@ class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorL
70 76
 
71 77
             }
72 78
         };
79
+
80
+         orderServiceConnection = new ServiceConnection() {
81
+             @Override
82
+             public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
83
+                 ((OrderDealService.OrderServiceBinder) iBinder).getService().setOrderServiceListener(MainPresenter.this);
84
+             }
85
+
86
+             @Override
87
+             public void onServiceDisconnected(ComponentName componentName) {
88
+
89
+             }
90
+         };
73 91
     }
74 92
 
75 93
 
@@ -86,6 +104,7 @@ class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorL
86 104
         }
87 105
         if(sessionIds==null || sessionIds.size()<1){
88 106
             view.setNewSessionBtnEnabled(false);
107
+            view.showSnackBar(R.string.prepare_in_processing);
89 108
         }else{
90 109
             view.setNewSessionBtnEnabled(true);
91 110
         }
@@ -100,14 +119,18 @@ class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorL
100 119
         registerWifiChangeReceiver();
101 120
         boxStatusInteractor.startJob();
102 121
         App.getAppContext().startService(new Intent(App.getAppContext(), OrderDealService.class));
122
+        App.getAppContext().bindService(new Intent(App.getAppContext(),OrderDealService.class),
123
+                orderServiceConnection, Context.BIND_AUTO_CREATE);
103 124
         App.getAppContext().startService(new Intent(App.getAppContext(), UploadService.class));
104
-        App.getAppContext().bindService(new Intent(App.getAppContext(),UploadService.class),serviceConnection, Context.BIND_AUTO_CREATE);
125
+        App.getAppContext().bindService(new Intent(App.getAppContext(),UploadService.class),
126
+                uploadServiceConnection, Context.BIND_AUTO_CREATE);
105 127
     }
106 128
 
107 129
     @Override
108 130
     public void stop() {
109 131
         boxStatusInteractor.cancelJob();
110
-        App.getAppContext().unbindService(serviceConnection);
132
+        App.getAppContext().unbindService(uploadServiceConnection);
133
+        App.getAppContext().unbindService(orderServiceConnection);
111 134
         App.getAppContext().unregisterReceiver(wifiReceiver);
112 135
     }
113 136
 
@@ -207,9 +230,24 @@ class MainPresenter implements MainContract.Presenter,BaseInteractor.InteractorL
207 230
     @Override
208 231
     public void onBoxStatusFetched(String boxNo, String boxStatus, String boxStatusCode) {
209 232
         if("0".equals(boxStatusCode)){
233
+            isBoxConnected = true;
210 234
             view.showBoxConnectedView();
211 235
         }else{
236
+            isBoxConnected = false;
212 237
             view.showBoxDisconnectedView();
238
+            boxStatusInteractor.startJob();
213 239
         }
214 240
     }
241
+
242
+    @Override
243
+    public void onOrderArrived() {
244
+        if(!isBoxConnected){
245
+            view.showSnackBar(R.string.new_order_and_check_box);
246
+        }
247
+    }
248
+
249
+    @Override
250
+    public void onOrderCompleted() {
251
+
252
+    }
215 253
 }

+ 19 - 0
app/src/main/java/ai/pai/lensman/service/OrderDealService.java

@@ -11,6 +11,7 @@ import android.text.TextUtils;
11 11
 
12 12
 import com.android.common.executors.ThreadExecutor;
13 13
 import com.android.common.utils.LogHelper;
14
+import com.android.common.utils.NetworkUtil;
14 15
 
15 16
 import org.json.JSONArray;
16 17
 import org.json.JSONObject;
@@ -36,6 +37,8 @@ public class OrderDealService extends Service implements Handler.Callback{
36 37
 
37 38
     private ArrayList<OrderBean> orderList;
38 39
     private Handler handler;
40
+    private OrderServiceListener listener;
41
+
39 42
     private static final int MSG_QUERY_ORDER = 2001;
40 43
 
41 44
     @Override
@@ -98,6 +101,13 @@ public class OrderDealService extends Service implements Handler.Callback{
98 101
             @Override
99 102
             protected void onPostSuccess() {
100 103
                 super.onPostSuccess();
104
+                if(listener!= null) {
105
+                    if (orderList != null && orderList.size() > 0) {
106
+                        listener.onOrderArrived();
107
+                    }else{
108
+                        listener.onOrderCompleted();
109
+                    }
110
+                }
101 111
                 dealOrder();
102 112
             }
103 113
 
@@ -372,4 +382,13 @@ public class OrderDealService extends Service implements Handler.Callback{
372 382
         }
373 383
     }
374 384
 
385
+    public void setOrderServiceListener(OrderServiceListener listener){
386
+        this.listener = listener;
387
+    }
388
+
389
+    public interface OrderServiceListener{
390
+        void onOrderArrived();
391
+        void onOrderCompleted();
392
+    }
393
+
375 394
 }

+ 2 - 0
app/src/main/res/values/strings.xml

@@ -148,5 +148,7 @@
148 148
 
149 149
     <string name="input_no_water_print_price">请设定去水印照片价格(单位 分)</string>
150 150
 
151
+    <string name="prepare_in_processing">正在准备中,请稍后进行拍摄</string>
151 152
 
153
+    <string name="new_order_and_check_box">您后台有新的订单,请检查box是否连接</string>
152 154
 </resources>